/**
 * Created by 白雨浓 on 17-8-21 下午6:42.
 *
 * 用于数据克隆 赋值 等
 */
export default {
  methods: {
    /** 对象克隆*/
    clone(obj) {
      const proto = Object.getPrototypeOf(obj);
      return Object.assign({}, Object.create(proto), obj);
    },
    /** 全兼容深度克隆 效率低 */
    cloneDep(obj){
      return JSON.parse(JSON.stringify(obj));
    },
    /** 在ajax后赋值page的值 */
    clonePage(res){
      return {
        current: res.data.current,
        size: res.data.size,
        total: res.data.total
      }
    },
    /** 将数组中的某个key的string型的value转换为Object */
    cloneToJson(data, ...keys){
      for (const item of data) {
        for (const key of keys) {
          item[key] = JSON.parse(item[key]);
        }
      }
      return data;
    },
    /** 将数组中的某个key的Object型的value转换为string */
    cloneToString(data, ...keys){
      for (const item of data) {
        for (const key of keys) {
          item[key] = JSON.stringify(item[key]);
        }
      }
      return data;
    }
  }
}
